Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-dashboard
<?php // You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip require('RestClient.php'); $api_url = 'https://api.dataforseo.com/'; // Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-dashboard $client = new RestClient($api_url, null, 'login', 'password'); try { $result = array(); // #1 - using this method you can get a list of completed tasks // GET /v3/merchant/google/sellers/tasks_ready $tasks_ready = $client->get('/v3/merchant/google/sellers/tasks_ready'); // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors if (isset($tasks_ready['status_code']) AND $tasks_ready['status_code'] === 20000) { foreach ($tasks_ready['tasks'] as $task) { if (isset($task['result'])) { foreach ($task['result'] as $task_ready) { // #2 - using this method you can get results of each completed task // GET /v3/merchant/google/sellers/task_get/advanced/$id if (isset($task_ready['endpoint_advanced'])) { $result[] = $client->get($task_ready['endpoint_advanced']); } // #3 - another way to get the task results by id // GET /v3/merchant/google/sellers/task_get/advanced/$id /* if (isset($task_ready['id'])) { $result[] = $client->get('/v3/merchant/google/sellers/task_get/advanced/' . $task_ready['id']); } */ } } } } print_r($result); // do something with result } catch (RestClientException $e) { echo "\n"; print "HTTP code: {$e->getHttpCode()}\n"; print "Error code: {$e->getCode()}\n"; print "Message: {$e->getMessage()}\n"; print $e->getTraceAsString(); echo "\n"; } $client = null; ?>
The above command returns JSON structured like this:
{ "version": "0.1.20240313", "status_code": 20000, "status_message": "Ok.", "time": "0.0713 sec.", "cost": 0, "tasks_count": 1, "tasks_error": 0, "tasks": [ { "id": "04021421-1535-0183-0000-be82a7ccf88b", "status_code": 20000, "status_message": "Ok.", "time": "0.0160 sec.", "cost": 0, "result_count": 1, "path": [ "v3", "merchant", "google", "sellers", "task_get", "advanced", "04021421-1535-0183-0000-be82a7ccf88b" ], "data": { "se_type": "shops_list", "se": "google", "api": "merchant", "function": "sellers", "language_code": "en", "location_code": 2840, "product_id": "1113158713975221117", "device": "desktop", "os": "windows" }, "result": [ { "product_id": "1113158713975221117", "type": "shops_list", "se_domain": "google.com", "location_code": 2840, "language_code": "en", "check_url": "https://www.google.com/shopping/product/1113158713975221117/offers?&hl=en&gl=US&gws_rd=cr&uule=w+CAIQIFISCQs2MuSEtepUEUK33kOSuTsc", "datetime": "2024-04-02 11:21:43 +00:00", "title": "Apple iPhone 8 Plus - 64 GB - Gold - T-Mobile - GSM", "url": "https://www.google.com/url?q=/shopping/product/1113158713975221117%3Fhl%3Den%26gl%3DUS%26gws_rd%3Dcr%26uule%3Dw%2BCAIQIFISCQs2MuSEtepUEUK33kOSuTsc%26prds%3Dpid:17952520722800863984,rsk:PC_11443222119505369798&opi=95576897&sa=U&ved=0ahUKEwioxoz8tKOFAxUdweYEHTNZB34QyJ0ECBQ&usg=AOvVaw2IxnTIhUiSbFf4cegELqKv", "image_url": "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcTv1POnd3tnHAe3lo2n7Shz7lbreDZH8NMZW2ghlZXglLk02k8eUzw0Iq9ZG4aAFaMRq26xKK41Yv9Z_KH2JOLh4adwtpyzLSKopnXcjXD34AMqsqaswy7kbA&usqp=CAY", "rating": { "type": "rating_element", "position": "left", "rating_type": "Max5", "value": 4, "votes_count": 3610, "rating_max": 5 }, "item_types": [ "shops_list" ], "items_count": 4, "items": [ { "type": "shops_list", "rank_group": 1, "rank_absolute": 1, "position": "right", "xpath": "/html[1]/body[1]/div[4]/div[1]/div[1]/div[3]/div[1]/table[1]/tbody[1]/tr[1]", "domain": "www.ebay.com", "title": "Apple iPhone 8 Plus - 64 GB - Gold - T-Mobile - GSM", "url": "https://www.ebay.com/itm/355103005673?chn=ps&mkevt=1&mkcid=28", "details": "Free delivery by Thu, Apr 11", "base_price": 200, "tax": 20.5, "shipping_price": null, "total_price": 220.5, "currency": "USD", "seller_name": "eBay", "rating": null, "shop_ad_aclk": null, "product_condition": null, "product_annotation": null }, { "type": "shops_list", "rank_group": 2, "rank_absolute": 2, "position": "right", "xpath": "/html[1]/body[1]/div[4]/div[1]/div[1]/div[3]/div[1]/table[1]/tbody[1]/tr[3]", "domain": "www.backmarket.com", "title": "Apple iPhone 8 Plus - 64 GB - Gold - T-Mobile - GSM", "url": "https://www.backmarket.com/en-us/p/iphone-8-plus-64-gb-gold-t-mobile/0ad199c7-97a0-45e9-a7b7-f7887ef2ed1e?shopping=gmc&srsltid=AfmBOoq3N-zYX91Q9BWZFXiR2ToM4Ek29tRNP0XDXZfq3wKrdc9ywzePtQ4#l=12", "details": "$1.99 delivery by Tue, Apr 9 30 -day returns", "base_price": 129, "tax": 13.22, "shipping_price": 1.99, "total_price": 144.21, "currency": "USD", "seller_name": "Back Market", "rating": { "type": "rating_element", "position": "left", "rating_type": "Max5", "value": 4.6, "votes_count": 13600, "rating_max": 5 }, "shop_ad_aclk": null, "product_condition": "Refurbished", "product_annotation": null }, { "type": "shops_list", "rank_group": 3, "rank_absolute": 3, "position": "right", "xpath": "/html[1]/body[1]/div[4]/div[1]/div[1]/div[3]/div[1]/table[1]/tbody[1]/tr[4]", "domain": "www.mercari.com", "title": "Apple iPhone 8 Plus - 64 GB - Gold - T-Mobile - GSM", "url": "https://www.mercari.com/us/item/m24932237054/?srsltid=AfmBOord5-vf9qasvsc8XqPqDGSKl0IE1O9QbVwEzCBStkFRffdwp9AyyeM", "details": "Free delivery", "base_price": 175, "tax": 17.94, "shipping_price": null, "total_price": 192.94, "currency": "USD", "seller_name": "Mercari", "rating": null, "shop_ad_aclk": null, "product_condition": "Used", "product_annotation": null }, { "type": "shops_list", "rank_group": 4, "rank_absolute": 4, "position": "right", "xpath": "/html[1]/body[1]/div[4]/div[1]/div[1]/div[3]/div[1]/table[1]/tbody[1]/tr[5]", "domain": "buy.itsworthmore.com", "title": "Apple iPhone 8 Plus - 64 GB - Gold - T-Mobile - GSM", "url": "https://buy.itsworthmore.com/products/iphone-8-plus-64gb-t-mobile-gold?variant=15513774915682¤cy=USD&utm_medium=product_sync&utm_source=google&utm_content=sag_organic&utm_campaign=sag_organic&srsltid=AfmBOor0Shu1M5cBGZiBdZjlBoGNKhbprIDIcLRc7WojU10eoL_AN5gEsUw", "details": "Free delivery by Mon, Apr 8 30 -day returns", "base_price": 122.99, "tax": 12.61, "shipping_price": null, "total_price": 135.6, "currency": "USD", "seller_name": "ItsWorthMore", "rating": { "type": "rating_element", "position": "left", "rating_type": "Max5", "value": 4.5, "votes_count": 1600, "rating_max": 5 }, "shop_ad_aclk": null, "product_condition": "Refurbished", "product_annotation": null } ] } ] } ] }
Description of the fields for sending a request:
Field name | Type | Description |
---|---|---|
id |
string | task identifier unique task identifier in our system in the UUID format you will be able to use it within 30 days to request the results of the task at any time |
As a response of the API server, you will receive JSON-encoded data containing a tasks
array with the information specific to the set tasks.
You can also get all available SERP features by making a request to the following Sandbox URL:
https://sandbox.dataforseo.com/v3/merchant/google/sellers/task_get/advanced/00000000-0000-0000-0000-000000000000
The response will include all available items in the Google Merchant Sellers Advanced endpoint with the fields containing dummy data.
You won’t be charged for using Sandbox endpoints.
Description of the fields in the results array:
Field name | Type | Description |
---|---|---|
version |
string | the current version of the API |
status_code |
integer | general status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions |
status_message |
string | general informational message you can find the full list of general informational messages here |
time |
string | execution time, seconds |
cost |
float | total tasks cost, USD |
tasks_count |
integer | the number of tasks in the tasks array |
tasks_error |
integer | the number of tasks in the tasks array that were returned an error |
tasks |
array | array of tasks |
id |
string | task identifier unique task identifier in our system in the UUID format |
status_code |
integer | status code of the task generated by DataForSEO; can be within the following range: 10000-60000 you can find the full list of the response codes here |
status_message |
string | informational message of the task you can find the full list of general informational messages here |
time |
string | execution time, seconds |
cost |
float | cost of the task, USD |
result_count |
integer | number of elements in the result array |
path |
array | URL path |
data |
object | contains the same parameters that you specified in the POST request |
result |
array | array of results |
product_id |
string | product_id received in a POST arraylearn more about the parameter in this help center guide |
type |
string | search engine type |
se_domain |
string | search engine domain in a POST array |
location_code |
integer | location code in a POST array |
language_code |
string | language code in a POST array |
check_url |
string | direct URL to Google Shopping results you can use it to make sure that we provided accurate results |
datetime |
string | date and time when the result was received in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00 |
title |
string | title of the product |
url |
string | URL to the product page |
image_url |
string | URL to the product image |
rating |
object | product rating the product popularity rate based on product reviews |
type |
string | type of element = ‘rating_element’ |
position |
string | the alignment of the element in Google Shopping SERP possible values: left , right |
rating_type |
string | the type of rating here you can find the following elements: Max5 , Percents , CustomMax |
value |
integer | value of the rating |
votes_count |
integer | the amount of feedback |
rating_max |
integer | the maximum value for a rating_type |
item_types |
array | types of search results found in Google Shopping SERP contains types of all search results ( items ) found in the returned SERPpossible item types: shops_list , buy_on_google |
items_count |
integer | the number of results returned in the items array |
items |
array | items in SERP |
‘shops_list’ element | ||
type |
string | type of element = ‘shops_list’ |
rank_group |
integer | position within a group of elements with identical type valuespositions of elements with different type values are omitted from rank_group |
rank_absolute |
integer | absolute rank in SERP absolute position among all the elements found in Google Shopping SERP |
position |
string | alignment of the element in SERP can take the following values: left , right |
xpath |
string | XPath of the element |
domain |
string | domain in SERP |
title |
string | product title |
url |
string | Google Shopping URL forwarding to the product page on the seller’s website if you want to obtain a URL of the advertisement forwarding to the product page on the seller’s website, please refer to the Google Shopping Sellers Ad URL endpoint |
details |
string | details and special offers if there are no details, the value will be null |
base_price |
integer | product price without tax and shipping |
tax |
integer | the amount of tax tax is specified as the actual amount of money, not as the percentage |
shipping_price |
integer | product shipping price |
total_price |
integer | product price including tax and shipping |
currency |
string | currency in the ISO format example: USD |
seller_name |
string | name of the seller the name of the company that placed a corresponding product on Google Shopping |
rating |
object | shop rating the shop popularity rate based on product reviews |
type |
string | type of element = ‘rating_element’ |
rating_type |
string | the type of rating here you can find the following elements: Max5 , Percents , CustomMax |
value |
integer | the value of the rating |
votes_count |
integer | the amount of feedback |
rating_max |
integer | the maximum value for a rating_type |
position |
string | the alignment of the element in Google Shopping SERP possible values: left , right |
shop_ad_aclk |
string | unique ad click referral parameter using this parameter you can get a URL of the advertisement in Google Shopping Sellers Ad URL |
product_condition |
string | indicated condition of the product possible values: Used , Refurbished , New , null |
product_annotation |
string | data from annotations and badges with special offers if there is no annotation for this product, the value will be null examples: LOW PRICE , SPECIAL OFFER , SALE , PRICE DROP |
‘buy_on_google’ element | ||
type |
string | type of element = ‘buy_on_google’ |
rank_group |
integer | position within a group of elements with identical type valuespositions of elements with different type values are omitted from rank_group |
rank_absolute |
integer | absolute rank in SERP absolute position among all the elements found in Google Shopping SERP |
position |
string | alignment of the element in SERP can take the following values: left , right |
xpath |
string | XPath of the element |
domain |
string | domain in SERP |
title |
string | product title |
url |
string | Google Shopping URL forwarding to the product page |
details |
string | details and special offers if there are no details, the value will be null |
base_price |
integer | product price without tax and shipping |
tax |
integer | the amount of tax tax is specified as the actual amount of money, not as the percentage |
shipping_price |
integer | product shipping price |
total_price |
integer | product price including tax and shipping |
currency |
string | currency in the ISO format example: USD |
seller_name |
string | name of the seller the name of the company that placed a corresponding product on Google Shopping |
rating |
object | shop rating the shop popularity rate based on product reviews |
type |
string | type of element = ‘rating_element’ |
rating_type |
string | the type of rating here you can find the following elements: Max5 , Percents , CustomMax |
value |
integer | the value of the rating |
votes_count |
integer | the amount of feedback |
rating_max |
integer | the maximum value for a rating_type |
position |
string | the alignment of the element in Google Shopping SERP possible values: left , right |
shop_ad_aclk |
string | unique ad click referral parameter using this parameter you can get a URL of the advertisement in Google Shopping Sellers Ad URL in this case, the value equals null |
product_condition |
string | indicated condition of the product possible values: Used , Refurbished , New , null |